package Message.Public
{
    import Framework.MQ.*;
    import Framework.Serialize.*;

    public class SFightAttributeEx extends Object implements IMessageBase
    {
        public var minAttack:int;
        public var maxAttack:int;
        public var physicalReliefRate:int;
        public var magicReliefRate:int;
        public var reliefRate:int;
        public var hitRate:int;
        public var joukRate:int;
        public var passRate:int;
        public var blockRate:int;
        public var physicalCritRate:int;
        public var magicCritRate:int;
        public var speededUpRate:int;
        public var toughnessRate:int;
        public var reserve1:int;
        public var reserve2:int;
        public var reserve3:int;
        public var reserve4:int;
        public var reserve5:int;
        public const _type:int = 20202;
        public static var _regist:SFightAttributeEx = new SFightAttributeEx(true);

        public function SFightAttributeEx(param1:Boolean = false)
        {
            if (param1)
            {
                MessageManager.instance().regist(this);
            }
            
        }

        public function getType() : int
        {
            return this._type;
        }

        public function clone() : IMessageBase
        {
            return new SFightAttributeEx();
        }

        public function __write(param1:SerializeStream) : void
        {
            param1.writeInt(this.minAttack);
            param1.writeInt(this.maxAttack);
            param1.writeInt(this.physicalReliefRate);
            param1.writeInt(this.magicReliefRate);
            param1.writeInt(this.reliefRate);
            param1.writeInt(this.hitRate);
            param1.writeInt(this.joukRate);
            param1.writeInt(this.passRate);
            param1.writeInt(this.blockRate);
            param1.writeInt(this.physicalCritRate);
            param1.writeInt(this.magicCritRate);
            param1.writeInt(this.speededUpRate);
            param1.writeInt(this.toughnessRate);
            param1.writeInt(this.reserve1);
            param1.writeInt(this.reserve2);
            param1.writeInt(this.reserve3);
            param1.writeInt(this.reserve4);
            param1.writeInt(this.reserve5);
            
        }

        public function __read(param1:SerializeStream) : void
        {
            this.minAttack = param1.readInt();
            this.maxAttack = param1.readInt();
            this.physicalReliefRate = param1.readInt();
            this.magicReliefRate = param1.readInt();
            this.reliefRate = param1.readInt();
            this.hitRate = param1.readInt();
            this.joukRate = param1.readInt();
            this.passRate = param1.readInt();
            this.blockRate = param1.readInt();
            this.physicalCritRate = param1.readInt();
            this.magicCritRate = param1.readInt();
            this.speededUpRate = param1.readInt();
            this.toughnessRate = param1.readInt();
            this.reserve1 = param1.readInt();
            this.reserve2 = param1.readInt();
            this.reserve3 = param1.readInt();
            this.reserve4 = param1.readInt();
            this.reserve5 = param1.readInt();
            
        }

    }
}
